#include "myqlabel.h"
#include <QFontMetrics>

myQlabel::myQlabel()
{

}

myQlabel::myQlabel(QWidget *parent=nullptr):QLabel(parent)
{
    setWordWrap(true);  //允许换行
    this->setAlignment(Qt::AlignCenter);
}

void myQlabel::resizeEvent(QResizeEvent *event){
    Q_UNUSED(event);
    if(text().isEmpty()) return;

    int fontSize=100;
    QFont font=this->font();

    while(fontSize>1){
        font.setPointSize(fontSize);
        QFontMetrics fm(font);
        QRect textRect = fm.boundingRect(rect(), Qt::TextWordWrap, text());

                   // 检查文字矩形是否小于等于标签矩形
        if (textRect.width() <= width() && textRect.height() <= height()) {
            break;
        }
        fontSize--;
    }

    setFont(font); // 应用计算后的字体大小


}

